package com.zzedu.enmuns;


import com.zzedu.common.utils.StringUtils;

import java.util.Arrays;

/**
 * 互动类型
 */
public enum InteractionTypeEnums {


    /**
     * 连线
     */
    line("line", "连线", false),
    /**
     * 单选
     */
    single_choice("single_choice", "单选", true),
    /**
     * 分类
     */
    classification("classification", "分类", false),
    /**
     * 选词填空
     */
    fill_in_the_blanks("fill_in_the_blanks", "选词填空", true),
    /**
     * 配音
     */
    dub("dub", "配音", false),
    /**
     * 挖空
     */
    word_spelling("word_spelling", "挖空", true),
    /**
     * 蒙层
     */
    mask_layer("mask_layer", "蒙层", true),
    /**
     * 拖拽
     */
    drag("drag", "drag", false),
    ;
    private final String code;

    private final String desc;

    /**
     * 是否参与统计
     */
    private final boolean calcFlag;

    public String getCode() {
        return code;
    }

    public String getDesc() {
        return desc;
    }

    public boolean isCalcFlag() {
        return calcFlag;
    }

    InteractionTypeEnums(String code, String desc, boolean calcFlag) {
        this.code = code;
        this.desc = desc;
        this.calcFlag = calcFlag;
    }

    public static InteractionTypeEnums getCode(String code) {
        if (StringUtils.isBlank(code)) {
            return null;
        }
        return Arrays.stream(InteractionTypeEnums.values()).filter(e -> e.code.equals(code)).findFirst().orElse(null);
    }

    @Override
    public String toString() {
        return String.valueOf(code); // 或者 name(), 或者 desc
    }
}
